Computer generated imagery is frequently used to generate lifelike representations of characters, people, objects and scenes encountered in everyday life. However, computer generated imagery uses a vast amount of processing power, and rendering lifelike scenes is difficult using even modern techniques.
Computer generated images are frequently generated using one of several methods. Ray tracing is used to generate highly realistic images, at a very high computational cost. In ray tracing, a camera is inferred to be at the point where a viewer would theoretically view the image. A ray is projected from the camera and through each pixel of a theoretical computer screen onto which the image will be displayed. The ray is further projected through this screen and into the landscape or scene to be rendered. The objects in a scene are represented in a three dimensional mathematical form in computer memory. The path of the ray from the camera through the target pixel on the screen is calculated and the portion of the scene the ray strikes is determined. The characteristics, such as color, texture and lighting of the portion of the scene struck by the ray is determined and used to render the target pixel in a computer generated graphic frame. The same procedure is repeated for each pixel in an image, and then multiple sequential images may be generated to form a movie or motion picture. Because each image requires that each pixel be calculated separately, generating ray-traced moving images in real-time is impractical and the technique is generally used for recorded movies where multiple frames can be rendered at the same time on different computers and assembled in order at the end of the rendering process.
Polygonal mesh modeling is a technique commonly used to generated real-time three dimensional models which are then projected onto a two dimensional screen. Optimal mathematical models are broken down into a model comprising a faceted set of polygons. Generally, the number of polygons comprising any particular model is determined by the desired level of detail of a computer generated image. High polygon counts in an image require greater computational power because the placement and characteristics of more polygons requires more time to render. The advantage of polygonal mesh modeling is that the number of polygons rendered for a scene may be changed to reflect a higher or lower image quality as required.
Both of these common techniques are generally used to render scenes that have models already generated. However, neither of these techniques takes into account the unique challenges involved in rendering draped cloth. To date, most real-time rendering of cloth has been avoided, primarily by clothing characters (particularly in video games) in simple clothing or in rigid or tight fitting clothing. This avoids having to render cloth that undulates, or that is draped or folded.
What is needed is a model that can be used to describe folded, draped or hanging cloth. The presented principles embody a system and method for rendering such loose cloth by a computer system.